#include <REGX52.H>


sbit XPT2046_Cs=P3^5;
sbit XPT2046_DIN=P3^4;
sbit XPT2046_DCLK=P3^6;
sbit XPT2046_DOUT=P3^7;

//
unsigned int XPT2046_ReadAD(unsigned char Command)
{
	unsigned int ADVAlue = 0;
	unsigned char i = 0;
	XPT2046_DCLK=0;
	XPT2046_Cs=0;
	for(i = 0; i < 8; i++)
	{
		XPT2046_DIN=Command&(0x80>>i);
		XPT2046_DCLK=1;
		XPT2046_DCLK=0;
	}
	
	for(i = 0; i <16 ; i++)
	{
		XPT2046_DCLK=1;
		XPT2046_DCLK=0;
			if(XPT2046_DOUT!=0)
		{
			ADVAlue|=(0x8000>>i);
		}
	}
	XPT2046_Cs=1;
	//读取了16位数据但只需要8位
	if(Command&0x08)
	{
		return ADVAlue>>8;
	}
	//读取了16位数据但只需要12位
	else
	{
		return ADVAlue>>4;
	}
}
